// $Id: input_idl.hpp 2 2009-09-02 08:47:42Z joseph2002 $
/*
 * Copyright 2009 Joseph Wu
 * Distributed under the Boost Software License, Version 1.0.
 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 *
 * For more information, see http://xpcomplus.sourceforge.net
 */

#ifndef XPGEN_INPUT_IDL_HPP
#define XPGEN_INPUT_IDL_HPP

#include <vector>
#include <boost/filesystem/path.hpp>
#include <xpgen/input.hpp>

namespace xpgen {

class input_idl : public input
{
public:
    input_idl();
    virtual ~input_idl();

    // options
    // Path to the xpidl executable
    boost::filesystem::path xpidl_path;

    // Include paths
    std::vector<boost::filesystem::path> include_paths;

    // This will turn uint32 return value of [notxpcom] method into result
    // if have value parameter of uuid type (not uuid_ref of uuid_ptr)
    bool guess_notxpcom_result;

protected:
    virtual void do_reset();
    virtual void do_module();
};

} // namespace xpgen

#endif // XPGEN_INPUT_IDL_HPP
